***Beware of using this code.***

According to the GPLv2, use of this code inside the Linux kernel could
potentially require opening up the DM interfaces. The project that
necessitated the creation of this code is attempting to remove it before
release.

This code is expected to be in the Linux kernel build tree, and to use the
Linux kernel build system. The Kbuild files rely on this.

Finally, be warned that the implementation relies on sizeof(UINT32) == sizeof(void*)

